package com.xy.biz.uc.domain.bo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;

/**
 * 
 * 
 * @author zsp
 * @date 2020-8-19
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class RoleBO {
	
	/**
	 * 角色Id
	 */
	private Long roleId;
	/**
	 * 角色编码
	 */
	private String roleCode;
	/**
	 * 名称
	 */
	private String name;
	/**
	 * 类型：类型：0-系统管理员，1-内置角色，2-自定义
	 */
	private Integer type;
	/**
	 * 租户Id，0表示不指定
	 */
	private Long tenantId;
	/**
	 * 创建时间
	 */
	private LocalDateTime createTime;
	/**
	 * 更新时间
	 */
	private LocalDateTime updateTime;

	/**
	 * 资源Id集合
	 */
	private List<Long> resourceIdList;

	/**
	 * 资源集合
	 */
	private List<ResourceBO> resourceBOList;

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;
		RoleBO that = (RoleBO) o;
		return roleId.equals(that.roleId);
	}

	@Override
	public int hashCode() {
		return Objects.hash(roleId);
	}

}
